Conducting everyday communication through email messages (e-mail) has become routine for millions of people all over the world. Consequently, this medium is being used as a fairly inexpensive way of sending messages to a large number of people. Most of these messages are unsolicited by the Internet user. These unsolicited messages are commonly referred to as “spam.” Besides being a nuisance to the Internet user, some of these spam message distributions are so large that it can have a crippling effect on large portions of the Internet.
Apart from being inundated with spam, network systems need to be protected from unwanted intrusion. Intrusion may include viruses that can disable a network system. Other forms of intrusion may include attack from hackers trying to gain unauthorized access to a network system. There are a number of known methods for filtering spam and viruses in order to secure a network system. For example, one method searches for catch phrases by looking at specific strings. Another method involves a challenge response scheme whereby, when someone sends an email, the mail is placed in the recipient's mailbox until it is confirmed that the sender is authorized to sent emails to the recipient. Another approach is to check whether the sender of the email belongs to the white list or black list of the recipient. This method automatically weeds out the senders who are in the black list.
The problem with the approaches described above is that the computing power available to do other tasks is consumed by the filtering process and this can significantly affect the functionality of the client, as well as require excessive memory. Also, the approaches are restricted to certain mail formats and will not allow new mail formats or protocols without updating the filtering software. Another shortcoming of current filtering techniques occurs with regard to publish and subscribe systems where timeliness of delivery is a factor. For example, RSS news feeds are commonly available and people subscribe to them. Alternatively, for stock trading information, the subscriber of the agent, e.g., Charles Schwab, would like to get access to the information. It should be appreciated that with the value of news and financial information disappearing over time, it is imperative to route such data quickly to the subscribers.
Furthermore, with regard to filtering semantic data, there is no known hardware based method, especially in a multi-flow environment. Therefore, it is necessary to have a method and a system to filter content in general and streaming content in particular, according to a set of queries/specifications, without consuming excessive computing power of the system.